Investigation CSIRT

Pour installer un outil sur votre VM, utilisez cette commande.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/securitylab-repository/scripts/refs/heads/main/script_name)"  -s  arg1 arg2 ...

Exercice 1

Vous faites partie de l’équipe CSIRT de l’entreprise SecurityLab. Une alerte a été déclenchée par plusieurs EDRs, signalant une activité suspecte.

L’équipe SOC Niveau 1 (Tier 1) a identifié deux fichiers suspects :
- lab01-01.exe
- lab01-01.dll

Après vérification, il est confirmé qu’il ne s’agit pas d’un faux positif.

De plus, un premier indicateur de compromission (IoC) a été remonté suite à l’analyse des logs des IDS et SIEM.
Il s’agit de l’adresse IP : 127.26.152.13 lors d’une tentatives de connexions suspectes vers cette adresse IP.

  1. Décrire l’architecture classique d’un SOC et expliquer le rôle de chaque entité.
  2. Définir les responsabilités des différentes équipes SOC (Niveau - Tier 1, 2 et 3).
  3. Expliquer ce qu’est un IoC et la différence avec un artefact.
  4. Clarifier la distinction entre un faux positif et un faux négatif.

Mission des équipes SOC Niveau 2 et 3

En tant que membres des équipes SOC Niveau 2 et 3, vous êtes chargés de mener une analyse approfondie et avancée des fichiers détectés afin d’identifier la menace et d’évaluer son impact.

Votre rôle est d’évaluer l’ampleur de la compromission et de recommander des mesures de remédiation adaptées.

Actions à entreprendre :

  1. Effectuer une analyse statique et dynamique des fichiers suspects pour identifier leur charge utile, leur signature et leur comportement en environnement contrôlé (sandboxing).

  2. Collecter et enrichir les IoC et IoA en recherchant des éléments supplémentaires dans les `artefact`` (fichiers créés, clés de registre modifiées, processus anormaux, connexions suspectes, …) en analysant les fichiers suspects.

  3. Corréler les IoA avec le framework MITRE ATT&CK pour cartographier l’attaque et en déduire les tactiques et techniques adverses.

  4. Créer des règles YARA pour détecter d’éventuelles variantes du malware et améliorer la protection des systèmes.

  5. Élaborer des règles Sigma pour renforcer la détection proactive via le SIEM et identifier des comportements suspects similaires à l’avenir.

  6. Préparer un rapport d’incident détaillé incluant les conclusions de l’analyse, les IoC/IoA trouvés, le mapping MITRE ATT&CK et les recommandations d’atténuation. Voir des exemples Ici.

  1. Expliquer ce qu’est un IoA et la différence avec un IoC.
  2. Allez sur le site de MITRE ATT&CK et identifier son rôle dans la prévention des menaces cybersécurité.

Dans la VM Linux AVL

  1. Importez le LAB virtuel AVL-LAB.ova. Il est possible de lancer l’interface graphique avec startx
  2. Pour configurer l’interface réseau (sudo ifup enpXsX)
  3. Décompressez avec unzip le fichier ~/malware_samples/fichiers_cours_malwares.zip
  4. Mettez à jour la VM :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/securitylab-repository/scripts/refs/heads/main/install_mfa)"  -s  user_name

Taches d’analyse communes aux deux fichiers (lab01-01.exe et lab01-01.dll)

  1. Générer leurs empreintes (le hash). Vous pouvez utiliser les commandes linux (md5sum et sha256sum).
  2. Calculer le leur fuzzy hash
    • Quel est son intérêt ?
  3. Verifier si les deux fichiers sont “packed”. ::: {.callout-note} On peut déterminer si un fichier est “packed” manuellement en analysant le code du fichier PE ou en utilisant un outil automatique comme PEiD Dans le cas où le fichier est “packed”, Vous pouvez utiliser upx pour décompressez le fichier:
$ upx  -o packed.exe  -d  unpacked.exe
- Qu'en est il pour celui-là : `lab01-02.exe` ?
  1. Tester les hashs dans VirusTotal ou un équivalent.

  2. A l’aide de la commande radare2 -A fihier_à_analyser, analysez les deux fichiers. (cf. https://rada.re/r/docs.html):

    • Quelle est la date/heure de compilation de chaque fichier ? Donnez votre conclusion (iI | grep --color=auto compiled)
    • Relevez les APIs utilisées (ii ou bien fs imports ; f)
    • Quelle est la taille de chaque section sur disque et en mémoire, les noms des sections, leur nombre et leur contenu (iS).
    • le fichier est-il compressé “packed” ?

Analyse du fichier lab01-01.exe

  1. Identifiez les IoCs obtenues en analysant ces artefacts :
    • les fonctions importées de la DLL kernel32.dll(ii~KERNEL32)
    • les chaînes de caractères retrouvées par la commande strings ou la commande izz de radare2 ?

Analyse du fichier lab01-01.dll

  1. A l’aide de radare2, analysez le fichier lab01-01.dll en suivant les mêmes étapes et en utlisant les mêmes outils que précédement.
  2. Identifiez les IoCs obtenues.

Ecrivez un rapport d’incident détaillé

  1. Déterminer les IoA après analyse des deux fichiers
  2. Faites le mapping avec la base MITRE ATT&CK
  3. Constuire les nouvelles règles SIGMA (À intégrer dans le SIEM) et YARA (à intégrer dans l’IDS).

Exercice 2 (cf. Analyse Dynamique)

Important

Créer un snapshot avant toute modification sur la VM windows. Même finalité que l’exercice 1, mais en réalisant également l’analyse dynamique.

  1. Le fichier concerné par l’analyse est Lab02-01.exe

  2. Pour configurer l’interface réseau (sudo ifup enpXsX)

  3. Décompresser avec unzip le fichier ~/malware_samples/fichiers_cours_malwares.zip

  4. Mettez à jour la VM Linux AVL :

  5. Lancer la VM XP à partir de ce snapshot

    • Lancez  ProcessExplorer
    • Lancez Procmon avec les filtres suivants :
      • Process Name
      • Operation
        • RegSetValue
        • WriteFile

50%
  1. Réaliser une première capture de la base de registre à l’aide de Regshot
  2. Lancer dans la VM linux INetSim (C’est un simulateur de services) :
    sudo systemctl stop systemd-resolved
    sudo inetsim --data /home/debian/.inetsim_data/data/inetsim --conf /home/debian/.inetsim_data/inetsim.conf 
  1. Vous pouvez également lancer tcpdump -n -i interface_réseau (ou installez wireshark) pour capturer et analyser le trafic entre la VM XP et la VM linux
  2. Lancer maintenant le programme à analyser dans la VM XP :

Analyser les caractéristiques du processus avec ProcessExplorer, notamment : - Les handles ouverts par le processus (View --> Lower Pane View --> Handles) - Les DLLs qui sont chargées dynamiquement par le processus (View --> Lower Pane View --> DLLs)

Analyser le résultat de Procmon - Y a-t-il des fichiers créés par le programme ? Relevez leurs noms et Comparez leurs caractéristiques avec ceux du programme analysé - Y a-t-il des clefs ou des valeurs de registre modifiées ? Si oui, dans quel but le programme fait-il cela ? Confirmez ces résultats avec RegShot

Analyser le résultat des logs de INetSim ou les trames Wireshark - Le programme a-t-il une activité réseau ? si oui, Laquelle ? - Récupérez les données envoyées ou reçues par la programme (Vous pouvez utiliser wireshark si vous l’avez installé ou netcat : sudo nc -l -p port_ecoute)

Ecrivez un rapport d’incident détaillé

  1. Déterminer les IoA après analyse des deux fichiers
  2. Faites le mapping avec la base MITRE ATT&CK
  3. Constuire les nouvelles règles SIGMA (À intégrer dans le SIEM) et YARA (à intégrer dans l’IDS).

Exerice 3

  1. Récupérer le fichier à analyser :

\bash{/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/securitylab-repository/scripts/refs/heads/main/install_projet_malware)" -s user_name}. \end{boxwithtitle}

  1. Identifiez les IoCs obtenues. En plus de l’analyse statique, réalisez une analyse dynamique, en utilisant la sandbox cloud Any.Run

  2. Préparer un rapport d’incident détaillé incluant les conclusions de l’analyse, les IoC/IoA trouvés, le mapping MITRE ATT&CK et les recommandations d’atténuation.

  3. Faites le mapping avec la base MITRE ATT&CK

  4. Constuire les nouvelles règles SIGMA (À intégrer dans le SIEM) et YARA (à intégrer dans l’IDS).